jQuery 圖片延遲讀取套件Lazy Load

jQuery

Posted by Javascript on 2019-11-02 21:29:00

圖片延遲載入已不是什麼新技術,而那天因為wp super cache一直秀斗,手機與桌機版版型傻傻分不清楚,以及使用手機瀏覽時,卻出現電腦版,這讓網站在Google搜尋時,出現此網站不適合使用手機瀏覽,才讓梅干更換成wp rocket這套快取外掛,同時wp rocket這套快取功能相當的強大,同時內建就有圖片延遲載入的功能,因此梅干就好奇,將它開啟沒想到網站開啟速度竟然秒快,讓梅干對圖片延遲載入有了不一樣的感受。


  由於wp rocket則是將WordPress的所有img圖片標籤,會全面套用圖片延遲載入的效果,這也因此讓梅干先前所用的,使用前與使用後的效果立即失效,甚至就連滑入顯示原圖的特效也一樣,所以那一天梅干就研究了一下圖片延遲載入的作法,再將它加入排除的功能,讓有些圖片可以不要套用延遲載入,最後再花了點時間,將它寫成了WordPress的外掛,因此有需要的朋友,現在也一塊來看看吧!

 

一般而言,我們經常會在網頁上,放上大量圖片來吸引讀者瀏覽

但是當圖片檔案太多、太大都會影響網頁載入的速度

這時候我們可以使用圖片延遲下載的技巧

來降低第一時間載入的圖片量

 

下面要介紹的是JQuery的套件 "Lazy Load"

這個套件主要用來延遲圖片下載   (碎碎念:廢話,不然用它幹啥!!)

讓網頁第一時間先把其它文字、html標籤…等其他訊息載入完畢後

再開始載入圖片

 

優點:

A. 增加網頁瀏覽效能

B. 優化使用者體驗(使用者不會因為網頁的loading覺得網頁壞掉)

 

缺點:

A. 程式工作增加

 

接下來就看看怎麼寫吧!!

 

      首先一樣引用JQuery的JS

      

      然後引用lazyload的JS檔   

      (官方連結:http://www.appelsiini.net/projects/lazyload)

      

      這邊開始才是重點,下面程式呼叫lazyload出來用

      

 

      最後所有的圖片引用都必須改寫

      原始圖片載入寫法:

      

      (這邊加入尺寸的原因可以參考這篇 網頁效能優化-圖片篇)

 

      修改後延遲圖片載入寫法:

      

 

      差別在於:

      1. src 拿掉,改成 data-original

      2. class 需要新增一個 lazyload 

 

      另外有些人可能需要修改自己專屬的loading圖片

      只需要打開jquery.lazyload.js檔案

      然後找到 placeholder :"loading圖片網址" ,在這裡做修改就可以了

    特別注意的是,延遲圖片下載的美意是為了減少網頁第一時間的loading,所以千萬不要為了花俏,去做了一個檔案很大的loading的圖片,那就失去使用這功能的意義了